#ifndef CONFIG_H_
#define CONFIG_H_

#include <iostream>
#include <string>
#include <fstream>
#include <nlohmann/json.hpp>

class Config
{
private:
    std::string m_configFile;

    // 私有化构造函数，‌防止外部创建实例
    Config() {}
    ~Config() {}
    // 删除拷贝构造函数和赋值运算符，‌防止拷贝
    Config(const Config &) = delete;
    Config &operator=(const Config &) = delete;

public:
    nlohmann::json m_configData;

    static Config &GetInstance();

    // 加载配置数据
    bool loadConfig(const std::string configFileName);
};

#endif